#ifndef _GUI_CONSOLE_H
#define _GUI_CONSOLE_H

namespace CEGUI
{
	class Window;
	class Listbox;
	class Editbox;
};


namespace Main
{
	class LogListener;
}

// tolua_begin
namespace GUI
{

	class Console : public Main::LogListener
	{
	public:
// tolua_end
		Console(CEGUI::Window *console);
		~Console();
// tolua_begin
		void hide();
		void show();
		void toggle();
// tolua_end
	private:
		CEGUI::Window *mConsole;
		CEGUI::Editbox *mCommandLine;
		size_t mHistorySize;

		CEGUI::Listbox *mConsoleLog;
		void receiveLogMessage(const std::string message,time_t timestamp,const std::string source);
// tolua_begin
	};
};
// tolua_end

#endif